1. Technical Field
The following relates to an index for a database that supports transactions. The index maintains a history of the times that a set of entities is empty.
2. Discussion of the Related Art
Temporal database systems that support transactions enable storage and retrieval of historical data, including data that changes over time. Transactions can include, among other things, adding and removing entities (e.g., files) to or from sets (e.g. logical directories). As sets of entities evolve, some sets can become very large, and some sets can become empty.
Write transactions must adhere to the ACID principle, in which the transaction must be Atomic, Consistent, Isolated, and Durable. Thus, before a transaction is committed, several write transactions can be in progress at the same time in parallel. Some types of write transactions can involve a “read-modify-write” process, requiring a step of reading a last committed value, modifying the last committed value, and writing the modified value. Because transactions must be atomic, consistent, isolated, and durable, conflicts between read transactions and write transactions can occur. Subsequently, it would be necessary to serialize read and write transactions.